Reduced complexity receiver for space-time- bit-interleaved coded modulation

ABSTRACT

A system employs space-time coding characterized at the transmitter by bit-interleaved coded modulation (BICM) combined with modulating several streams of the BICM encoded data for transmission over two or more antennas. Space-time coding techniques improve transmission efficiency in radio channels by using multiple transmit and/or receive antennas and coordination of the signaling over these antennas. Bit-interleaved coded modulation provides good diversity gain with higher-order modulation schemes that employ binary convolutional codes. A receiver demodulates the received signals and applies multi-input, multi-output (MIMO) demapping to estimate the BICM encoded bitstream. After deinterleaving of the BICM encoded bitstream, maximum a posteriori (MAP) decoding is applied to the resulting bit stream to generate soft output values. By applying well-known turbo-decoding principles to iteratively demap and decode, the overall receiver performance is significantly improved. The MIMO demapping and MAP decoding processes exchange likelihood information to improve the bit error rate performance over several iterations of demapping/decoding. By generating tentative decisions for transmitted bits, the overall number of evaluations used for demapping may be reduced.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to data modulation and demodulation in a communication network, and, more particularly, to space-time coding and decoding techniques for wideband data channels.

[0003] 2. Description of the Related Art

[0004] Wireless channels exhibit a number of severe impairments, among which fading is one of the most severe. For narrowband channels, the fading can often be assumed to be flat, while for wideband channels the fading is typically frequency selective. In addition, additive noise and interference contribute significantly to signal degradation. Diversity is a method to improve transmission over fading channels. Time diversity uses encoding to duplicate and spread information through an encoded bit stream (e.g., convolutional encoding) and space diversity employs multiple transmit and/or receive links to duplicate and spread information over multiple signal paths.

[0005] Coded modulation systems employ methods that utilize time diversity. Encoded data is transmitted through the path between a single transmit antenna and a single receive antenna. Some methods efficiently utilize binary convolutional codes to obtain diversity gains with higher-order, non-binary modulation symbols (e.g., 16-QAM), such as bit-interleaved coded modulation (BICM) systems using multi-level coding methods (and corresponding multistage decoding at the receiver). For example, BICM systems provide diversity gains, and, for example, higher-order, coded modulation systems use well-known binary convolutional codes separated by interleaving to encode the data. Further improvements in system performance are obtained by iterative demapping (translation of symbols to bits) and decoding at the receiver. More recently, so-called space-time coding methods have been proposed to obtain both space and time diversity by using multiple transmit and/or receive antennas along with matching coding. For example, a space-time BICM scheme for narrowband radio channels employing multiple transmit antennas in flat fading cases is described in A. M. Tonello, “Space-Time Bit-Interleaved Coded Modulation With An Iterative Decoding Strategy,” Proceedings, VTC 2000 Fall, Boston, Mass., September 2000, pp473-478, which is incorporated herein in its entirety by reference.

[0006] Orthogonal Frequency Division Multiplexing (OFDM) is a form of data transmission in which a block of data is converted into a parallel form and mapped into frequency domain symbols. To generate a time domain signal for transmission over the antenna link between antennas, the inverse discrete Fourier transform (IDFT, or its fast version, the IFFT) of length F is applied to F frequency domain symbols to create F subchannels (also known as F subcarriers, since each channel is a separately modulated carrier). Each of the F subcarriers is orthogonal to each other while the frequency spectrum overlaps. The frequency spacing between the F subcarriers is minimum in OFDM, giving OFDM high spectral efficiency. At the receiver, the discrete Fourier transform (DFT, or its fast version, the FFT) is applied to the received signal over F subchannels to generate a sequence of values representing estimated frequency domain symbols. Demapping maps the estimated symbols back to the original block of user data (bits). OFDM allows for wideband transmission over frequency selective (radio) channels without adaptive equalizers. For wideband systems, OFDM has been proposed for a wide range of radio channel applications. One application is the wireless local Area Network (LAN) system defined by the IEEE 802.11a standard. This standard adopts OFDM in packet-based communications operating in unlicensed 5 GHz bands.

SUMMARY OF THE INVENTION

[0007] In accordance with embodiments of the present invention, a receiver applies an iterative demapping and decoding process to a received signal encoded with space-time coding. The space-time coding is characterized by coded modulation of user data, such as bit-interleaved coded modulation (BICM), combined with modulation of the encoded user data for transmission over one or more antennas. The receiver demodulates the received signals from at least two antennas, and applies multi-input, multi-output (MIMO) demapping to estimate the (e.g., BICM) encoded bitstream. After deinterleaving of the estimated encoded bitstream, maximum a posteriori (MAP) decoding is applied to the resulting bit stream to generate soft output values. The MIMO demapping and MAP decoding processes exchange likelihood information to improve the bit error rate performance over several iterations of demapping/decoding. By generating a set of tentative decisions, the overall number of evaluations used for demapping may be reduced. Since no likelihood values are available for the first iteration of demapping and decoding, minimized cost function error (MCFE) estimates (e.g., minimum mean square estimates (MMSE)) of the transmitted symbols are generated, along with likelihood values and probabilities of correct decision for the MMSE estimates. Based on the probabilities of correct decision, a set of (reliable) hard bit decisions is determined. For subsequent iterations, the likelihood values of MAP decoding are employed to determine the set of (reliable) hard bit decisions.

[0008] In accordance with an exemplary embodiment of the present invention, a receiver iteratively demaps and decodes two or more received signals into data by, for a first iteration, (a) demapping, with a multi-input, multi-output (MIMO) demapper, a sequence of encoded data from the received signals as a set of MCFE estimates; (b) generating MCFE likelihood values for the set of MCFE estimates based on a set of corresponding variances; (c) calculating, for the set of MCFE estimates, a set of probabilities of correct decision based on the MMSE likelihood values; (d) setting one or more of the set of MCFE estimates as hard decisions based on the set of probabilities of correct decision; and (e) calculating a set of maximum a posteriori (MAP) likelihood values based on the remaining MMSE estimates.

BRIEF DESCRIPTION OF THE DRAWINGS

[0009] Other aspects, features, and advantages of the present invention will become more fully apparent from the following detailed description, the appended claims, and the accompanying drawings in which:

[0010]FIG. 1 shows a coded modulation system employing one or more embodiments of the present invention;

[0011]FIG. 2 shows an exemplary embodiment of the transmitter shown in FIG. 1;

[0012]FIG. 3 shows an exemplary embodiment of the receiver shown in FIG. 1;

[0013]FIG. 4 shows an exemplary embodiment of the multi-input, multi-output (MIMO) demapper shown in FIG. 3;

[0014]FIG. 5 shows a receiver employing reduced complexity iterative demapping/decoding in accordance with an alternative exemplary embodiment of the present invention; and

[0015]FIG. 6 shows an exemplary method of reduced complexity iterative demapping/decoding.

DETAILED DESCRIPTION

[0016]FIG. 1 shows a coded modulation system 100 employing one or more embodiments of the present invention. Coded modulation system 100 is characterized by transmitter 200 applying space-time coding with bit-interleaved coded modulation that is combined with a multi-carrier OFDM modulation; and receiver 300 applying OFDM demodulation with iterative demapping and decoding. Such coded modulation systems in accordance with the present invention may be advantageously employed in wireless local/wide area network (LAN/WAN) applications.

[0017]FIG. 1 shows an example of a system with 3 transmit antennas and 2 receive antennas, and a system model may be defined for the general case of N_(l) transmit antennas (N_(l) an integer and N_(l)≧2) and N_(r) receive antennas (N_(r) an integer and N_(r)≧1). Each of the N_(r) receive antennas receives signals from the N_(l) transmit antennas.

[0018] While the exemplary embodiment is described for space-time coding with bit-interleaved coded modulation, other types of coded modulation for space-time coding may be employed. In addition, the exemplary embodiments are described for a mapping of the bit-interleaved coded data into symbols using a modem constellation. Such modem constellation may be m-ary PSK or m-ary QAM with m constellation points, though the present invention is not limited to these constellations and may employ any multi-level signal point modulation. System 100 employs OFDM for wideband channels using F subcarriers rather than single carrier modems. The spectral efficiency of system 100 is R_(C)N_(l) log₂ m bits/s/Hz, where R_(C) is the rate of the convolutional code used.

[0019] The output y_(k,l) ^(j) at the kth subcarrier and at the lth time slot from the jth receive antenna matched filter after the discrete Fourier transform (DFT, or its fast version, the FFT) is given by equation (1): $\begin{matrix} {{y_{k,l}^{j} = {{{\sqrt{E_{s}}{\sum\limits_{i}^{N_{i}}\quad {H_{k,l}^{i,j}x_{k,l}^{i}}}} + {n_{k,l}^{i}\quad {for}\quad j}} = 1}},2,{\ldots \quad N_{r}}} & (1) \end{matrix}$

[0020] where x_(k,J) ^(l) is the transmitted symbol (of a multi-level symbol constellation) at the ith transmit antenna at the kth subcarrier and at the lth time slot. The value E_(s) is defined as the symbol energy and H_(k,J) ^(l,j) is defined as the equivalent channel frequency response of the link between the ith transmit antenna and jth receive antenna at the kth subcarrier and at the lth time slot. The quantity n_(k,J) ^(j) represents the additive noise contribution, which is represented as a sequence of i.i.d. complex, zero-mean, Gaussian variables with variance N_(o)/2 per dimension.

[0021] The time domain channel impulse response between the ith transmit and jth receive antenna may be a frequency selective channel that may be modeled as defined in equation (2): $\begin{matrix} {{h^{i,j}\left( {t,\tau} \right)} = {\sum\limits_{n = 1}^{K}{{{\overset{\_}{h}}^{i,j}\left( {n,t} \right)}{\delta \left( {\tau - \tau_{n}} \right)}}}} & (2) \end{matrix}$

[0022] where the channel coefficients {overscore (h)}^(l,j) (n,t) are complex Gaussian variables with zero mean (Rayleigh fading). The term δ(•) is defined as the Dirac delta function, and K denotes the number of channel (filter) taps.

[0023] The channel impulse responses of each of the antenna links are independent of one another. Both fast fading (i.e., uncorrelated fading coefficients in time) and block fading (i.e. static fading coefficients over a block of transmitted symbols, independent over blocks) may be present. For the described embodiments, the model is described using block fading typical of wireless LANs with slow movements. Consequently, the variables with respect to time indices l and t may be considered constant and these indices are omitted from the following description for clarity.

[0024] The channel frequency response in equation (1) may be expressed as given in equation (3): $\begin{matrix} {H_{k}^{i,j} = {\sum\limits_{n = 1}^{K}{{{\overset{\_}{h}}^{i,j}(n)}^{{- {j2\pi}}\quad {{k\tau}_{n}/F}\quad T}}}} & (3) \end{matrix}$

[0025] where T denotes the sampling period. The absolute magnitude of the channel frequency response, |H_(k) ^(l,j)|, is Rayleigh distributed.

[0026] The symbol constellation is normalized such that equation (4) holds true:

E{|x _(k) ^(l)|²}=1 for i=1,2, . . . N _(l)  (4)

[0027] With vector notations, equation (2) may be expressed as in equation (5): $\begin{matrix} {y_{k} = {\begin{bmatrix} y_{k}^{1} \\ \vdots \\ y_{k}^{N\tau} \end{bmatrix} = {{{\sqrt{E_{s}}\begin{bmatrix} H_{k}^{1,1} & \cdots & H_{k}^{N_{i},1} \\ \vdots & ⋰ & \vdots \\ H_{k}^{1,{N\quad \tau}} & \cdots & H_{k}^{N_{i},{N\quad \tau}} \end{bmatrix}}\begin{bmatrix} x_{k}^{1} \\ \vdots \\ x_{k}^{N_{i}} \end{bmatrix}} + \begin{bmatrix} n_{k}^{1} \\ \vdots \\ n_{k}^{N\tau} \end{bmatrix}}}} & (5) \end{matrix}$

[0028] or equivalently as in equation (5′):

y _(k) ={square root}{square root over (E_(s))}H _(k) x _(k) +n _(k) for k=1,2, . . . F  (5′)

[0029] Generally, receiver 300 includes circuitry that estimates the values for the elements in channel response matrix H_(k), and such estimates may be generated using periodic test signals transmitted by transmitter 200 to receiver 300. Such a priori information of the channel impulse response may also be generated via simulations.

[0030]FIG. 2 shows transmitter 200 for space-time coding with bit-interleaved coded modulation (BICM) with OFDM modulation for the case of wideband frequency selective channels. Transmitter 200 comprises convolutional encoder 201, bit interleaver 202, processing module 203, mapper modems 207(1)-207(N_(l)), inverse fast Fourier transform (IFFT) modules 208(1)-208(N_(l)), and transmit antennas 209(1)-209(N_(l)).

[0031] Applying BICM encoding to the data is as follows. Convolutional coder 201 applies a binary convolutional code with rate R_(C) to the input bits (input data). Bit interleaver 202 then interleaves the encoded bits from convolutional coder 201 to generate BICM encoded data. Bit interleaving by interleaver 202 de-correlates the fading channel, maximizes diversity, removes correlation in the sequence of convolutionally encoded bits from convolutional coder 201, and conditions the data for increased performance of iterative decoding. Convolutional coder 201 and bit interleaver 202 may typically operate on distinct blocks of input data, such as data packets.

[0032] Applying OFDM to the BICM encoded data is as follows. Processing module 203 includes serial-to-parallel converter 204, and optional framing module 206. Serial-to-parallel converter 204 receives the serial BICM encoded bitstream from bit interleaver 202, which bitstream may have framing information inserted in the bitstream by framing module 206. Optional framing information allows a receiver to synchronize its decoding on distinct blocks of information. Serial-to-parallel converter 204 generates a word of length N_(l) long, with each element of the word provided to a corresponding one of mapper modems 207(1)-207(N_(l)). Elements of the word may be single bit values, or may be b bit values where b is the number of bits represented by each modem constellation symbol.

[0033] Mapper modems 207(1)-207(N_(l)) each convert b bits to corresponding symbols (of the m-ary symbol space) in the sequence x_(k) ^(l) of equations (5), and (5′). The output of the j^(th) modem mapper 207(j) is a symbol. IFFT modules 208(1)-208(N_(l)) each collect up to F symbols, and then apply the IFFT operation of length F to the block of F symbols. Thus, IFFT modules 208(1)-208(N_(l)) each generate F parallel subchannels that may be transmitted over corresponding antennas 209(1)-209(N_(l)). Each subchannel is a modulated subcarrier that is transmitted to the channel.

[0034]FIG. 3 shows receiver 300 an iterative decoder for the space-time code for the OFDM system. Receiver 300 comprises receive antennas 301(1)-301(N_(r)), fast Fourier transform (FFT) modules 302(1)-302(N_(r)), demodulator/detector 303, parallel-to-serial converter 307, bit deinterleaver 308, maximum a posteriori (MAP) decoder 309, bit interleaver 310, and serial-to-parallel converter 311.

[0035] For a wideband system, receiver 300 performs OFDM demodulation for each of receive antennas 301(1)-301(N_(r)), and the demodulation and demapping is performed over F parallel subchannels. The ith receive antenna 301(i) senses a signal made up of various contributions of the signals transmitted from the N_(l) transmit antennas (i.e., contributions of the multiple F parallel, narrowband, flat fading subchannels transmitted over corresponding antennas 209(1)-209(N_(l)) of FIG. 2). FFT modules 302(1)-302(N_(r)) each apply an F-point FFT to the corresponding signals of receive antennas 301(1)-301(N_(r)), generating N_(r) parallel sets of F subchannels.

[0036] In accordance with embodiments of the present invention, demodulator/detector 303 estimates bits in each of the F subchannels (slowly varying with flat fading) rather than in only one subchannel as in the narrowband, flat fading systems of the prior art. Demodulator 304 demodulates F subchannel carriers to baseband for each of the N_(r) parallel sets of F subchannels. Multi-input multi-output (MIMO) demapper 305, based on the N_(r) parallel sets of F subchannels from FFT modules 302(1)-302(N_(r)) produces MAP estimates of the demapped bits (i.e, bits mapped from the constellation symbol) in each of the F subchannels from the N_(l) antennas in the transmitter. MIMO demapper 305 produces the MAP estimates of the demapped bits using reliability information generated by MAP decoding of the MAP estimates for the BICM values by MAP decoder 309.

[0037] Estimation of bit values by MIMO demapper 305 is now described. MIMO demapper 305 computes soft values for bits transmitted on the overlapping F subchannels, along with an a posteriori probability of the soft value being correct. The a posteriori probability of the soft value being correct is defined as an a posteriori log-likelihood ratio (LLR) for the soft value (bit). Defining d_(k) ^(l,m) as the bit that is mapped at the kth subcarrier into the mth bit position (m=1, 2 . . . M, where M is the integer number of bits per symbol) of the constellation symbol of the ith transmit antenna, i=1, 2, . . . N_(l), then the a posteriori LLR L (d_(k) ^(l,m)) for the soft value corresponding to bit d_(k) ^(l,m) is given as in equation (6): $\begin{matrix} {{L\left( d_{k}^{i,m} \right)} = {\log {\frac{P\left( {d_{k}^{i,m} = {+ 1}} \right)}{P\left( {d_{k}^{i,m} = {- 1}} \right)}.}}} & (6) \end{matrix}$

[0038] The set S_(d) ^(l,m), d=+1 or −1; is defined as the set of all symbol vectors with a +1 or −1 value for bit d_(k) ^(i,m), respectively. The number of elements in such a set is 2^(N) ^(_(l)) ^(M). The LLR in equation (6) conditioned on the channel state information H_(k) is given in equation (7): $\begin{matrix} {{\log \frac{P\left( {{d_{k}^{i,m} = \left. {+ 1} \middle| y_{k} \right.},H_{k}} \right)}{P\left( {{d_{k}^{i,m} = \left. {- 1} \middle| y_{k} \right.},H_{k}} \right)}} = {\log \frac{\sum\limits_{x_{k} \in S_{+ 1}^{im}}\quad {p\left( {x_{k},y_{k},H_{k}} \right)}}{\sum\limits_{x_{k} \in S_{- 1}^{im}}\quad {p\left( {x_{k},y_{k},H_{k}} \right)}}}} & (7) \end{matrix}$

[0039] A MIMO demapper considers all 2^(N) ^(_(l)) ^(M) combinations of overlapping bits in a subchannel and then evaluates the LLR for each combination. Soft values are assigned as the combinations that exhibit the highest probability of occurrence with respect to the LLR values. For system 100, the complexity (number of combinations evaluated) is approximately 2^(N) ^(_(l)) ^(M). Thus, assuming a transmitted vector of symbol bits x_(k) a vector of observations at the receiver y_(k), and the known estimated channel function H_(k), the soft output values for bits may be generated by calculating the LLR of equation (7) for all combinations and selecting the combination having the highest LLR values.

[0040] MIMO demapper 305 in FIG. 3 is shown in FIG. 4. Each signal of the N_(r) receive antennas 302(1)-302(N_(r)) is divided into F subchannels (via demodulator 304, not shown in FIG. 4) by applying the FFT and sent to corresponding subchannel MIMO demappers 401(1)-401(F). The signal outputs of the kth subchannel for all N_(r) receive antennas are provided to the kth subchannel MIMO demapper 401(k), which computes the log likelihood ratio of equation (7) using extrinsic information (a likelihood ratio vector L_(k) ^(e)) generated from the output of MAP decoder 309 of the previous iteration. Instead of the parallel structure shown in FIG. 5, it is possible to process the signals output from each of FFT modules 302(1)-302(N_(r)) sequentially by buffering the output and processing them one by one with only one MIMO demapper.

[0041] In order to generate a value for the LLR of equation (7), the joint probability density p(x_(k),y_(k),H_(k)) of equation (7) is evaluated. The joint probability density p(x_(k),y_(k),H_(k)) of equation (7) is proportional to (∝) the quantity of equation (8): $\begin{matrix} {{p\left( {x_{k},y_{k},H_{k}} \right)} \propto \quad {\exp \left( {{{- \frac{1}{N_{0}}}{{y_{k} - {H_{k}x_{k}}}}^{2}} + {\frac{1}{2}d_{k}^{T}L_{k}^{e}}} \right)}} & (8) \end{matrix}$

[0042] where d_(k) is a column vector comprising elements d_(k) ^(l,m) and L_(k) ^(e) is the extrinsic information column vector representing a priori log likelihood ratio (LLR) values for the bits from MAP decoder 309. The extrinsic information (the a priori LLR vector L_(k) ^(e)) is exchanged between MIMO demapper 305 and MAP decoder 309 to improve the bit error rate performance for each iteration. The elements of the a priori LLR vector L_(k) ^(e) may be independent variables in the interleaved bit stream.

[0043] For the first iteration (i.e., the first pass through the iterative detection and decoding process) the elements of the a priori LLR vector L_(k) ^(e) are set to zero. For each subsequent iteration, the elements of the a priori LLR vector L_(k) ^(e) are derived from the MAP decoding process of MAP decoder 309.

[0044] Returning to FIG. 3, the estimates of bits in F parallel streams from MIMO demapper 305 are provided to parallel-to-serial converter 307 which reconstitutes receiver 300's estimate of the BICM encoded bitstream generated by the transmitter. The estimated BICM encoded bitstream is then deinterleaved by bit deinterleaver 308 and applied to MAP decoder 309 to reverse the convolutional encoding applied by the transmitter.

[0045] The MAP decoding process generates soft output values for transmitted information bits. The MAP decoding process employs input a priori LLR values for decoding. The input a priori LLR values to MAP decoder 309 are extrinsic information from MIMO demapper 305, which is the difference between 1) the input LLR values L_(k) ^(e) to MIMO demapper 305 for the encoded information bits and 2) the output LLR values L_(k) having elements L(d_(k) ^(l,m)) calculated from equation (7) for the estimates for encoded information bits. For MAP decoding, the a posteriori log-likelihood ratio (LLR) value L(u_(l)) for a user's bit u_(l) at time i (for either a decoded or a new/improved encoded information bit) given an observation (channel output sample) y_(l) may be calculated as given in equation (9): $\begin{matrix} {{L\left( u_{i} \right)} = {{\log \left( \frac{p\left( {u_{i} = \left. {+ 1} \middle| y_{i} \right.} \right)}{p\left( {u_{i} = \left. {- 1} \middle| y_{i} \right.} \right)} \right)}.}} & (9) \end{matrix}$

[0046] The a priori LLR vector L_(k) ^(e) applied to the kth subchannel MIMO demapper 401(k) is formed from extrinsic information of MAP decoding. Extrinsic information for a bit is defined as the difference between 1) the input a priori LLR value to MAP decoder 309 for the encoded information bit (extrinsic information from the MIMO demapper) and 2) the output a posteriori LLR value for the encoded information bit (e.g., generated through equation (9)). However, after forming the difference, the extrinsic information from MAP decoder 309 is first applied to bit interleaver 310. Bit interleaving aligns elements of the extrinsic information with the interleaved estimated BICM encoded bitstream from MIMO demapper 305. In addition, the interleaved extrinsic information is applied to serial-to-parallel converter 311, which forms N_(l) parallel streams of extrinsic information corresponding to the parallel bit streams formed at the transmitter. Vector Channel module 306 then forms the a priori LLR column vector L_(k) ^(e) for each of the F subchannels from the N_(l) parallel streams of extrinsic information.

[0047] The extrinsic information is exchanged between MIMO demapper 305 and MAP decoder 309 to improve the bit error rate performance for each iteration. The elements of the a priori LLR vector L_(k) ^(e) may be considered as independent variables in the interleaved bit stream.

[0048] However, for calculation of the LLR value of equation (7), the cardinality of the set S_(d) ^(l,m) is 2^(N) ^(_(l)) ^(M). Thus, 2^(N) ^(_(l)) ^(M) sequence evaluations are made, which number of evaluations grows exponentially with the product of the number of transmit antennas N_(l) and the number of bits per constellation symbol (signal point) M. To improve speed of decoding and decrease both circuit size and power consumption of an implementation, it is desirable to reduce the number of calculations during the evaluations. For a first level of complexity reduction without significant loss of performance, a Max-Log approximation for calculation of LLRs may be used in both a MIMO demapper and in a MAP decoder for the convolutional code. The Max-Log approximation for calculation of a posteriori LLR values may employ the max* term relationship of equation (10):

max*(x,y)=log(e ^(−x) +e ^(−y))=max(x,y)+log(1+e ^(−|x−y|))  (10)

[0049] when calculating updated forward recursive, reverse recursive, and branch metrics sequences to calculate the value of equation (6). Each constituent MIMO demapper or MAP decoder thus calculates the max* term by separate calculation of a max term (max(x,y)) and a logarithmic correction term (log(1+e^(−|x−v|))).

[0050] For a second level of complexity reduction, the number of evaluations is reduced. One method by which the number of evaluations is reduced employs LLR values of a previous iteration to identify a number P of bit soft output values that may be fixed as hard decisions. Fixing hard decisions reduces the number of sequence vectors (possible symbol sequence combinations) that are evaluated during either demapping or decoding. However, since the a priori LLR values as described previously are set to zero, embodiments of the present invention employ a separate method to estimate LLR values for the first iteration. In a first iteration of demapping and decoding, a minimized cost function error estimation, such as the minimum mean square error estimation, is used to determine the P soft output values that are to be fixed.

[0051] The techniques described herein for a low complexity receiver need not be limited to a system employing OFDM modulation. FIG. 5 shows a receiver 500 for a system employing any one of a number of modulation schemes known in the art. As shown in FIG. 5, receiver 500 includes demodulator 501, minimum mean square error (MMSE) estimator 504, and MIMO demapper 502 receiving at least N_(r) signals, N_(r) an integer greater than 1, from corresponding receive antennas 503(1)-503(N_(r)). Parallel-to-serial converter 507, bit interleaver 508, MAP decoder 509, bit interleaver 510, and serial-to-parallel converter 511 operate in a similar manner to like components of FIG. 3. MMSE estimator 504, MIMO demapper 502, MAP decoder 509 implement a method of reduced-complexity iterative demapping/decoding for LLR calculation as described below.

[0052] For the receiver of FIG. 5, the system model employs the following definitions for demapper operations that compute the LLR for the information bit. The bit b_(k) ^(n) is the bit that is mapped to the nth bit position (n=1, 2, . . . , N_(l)M) in the input symbol vector x_(k). For example, the ith input symbol x_(k) ^(l) is mapped by the input bits b_(k) ^((l−1)M+1),b_(k) ^((l−1)M+2), . . . , b_(k) ^(lM). The LLR value L(b_(k) ^(n)) represents the LLR value for the bit b_(k) ^(n). To distinguish the LLR values of MIMO demapper 502 from the LLR values of MAP decoder 509, the notation L^(m)(b_(k) ^(n)) and L^(c)(b_(k) ^(n)) are used, respectively. The extrinsic information provided to the demapper is defined as L_(c) ^(e)(b_(k) ^(n)) for the bit b_(k) ^(n).

[0053] The set S_(d) ^(n), d=±1, is the set of all symbol vectors with a +1 or a −1 value of bit b_(k) ^(n). Column vector b_(k) has elements representing bits b_(k) ^(n), and column vector L_(k) ^(e) has elements corresponding to the extrinsic information L_(c) ^(e)(b_(k) ^(n)) (difference of a priori and a posteriori LLR values) from the MAP decoder 509.

[0054] During the first iteration, the present method identifies “reliable” bit decisions for computation of demapper a posteriori LLR values, and those reliable bit positions are subsequently fixed as hard decisions. Since the demapping process of the first iteration does not have any a priori information available, an MMSE estimation filter w_(k) is applied to the received signal (observations or samples) y_(k) to get an MMSE estimate vector {circumflex over (x)}_(k) of the transmitted vector x_(k) (a vector of the transmitted symbols x_(k) ^(l) at time k). Thus, MMSE estimation minimizes estimation error defined as in equation (11):

e _(k) ^(l) =x _(k) ^(l) −w* _(k,l) y _(k)  (11)

[0055] where w_(k,l) is a column vector of length N_(r) for estimating x_(k) ^(l).

[0056] Defining e_(k) as a column vector of length N_(l) comprised of the estimation error e_(k) ^(i), the combination of column vectors w_(k) into a N_(r) by N_(t) matrix may generate an optimum estimation matrix W_(k) that minimizes the mean square error E∥e_(k)∥². The optimum estimation matrix W_(k) may be defined as in equation (12):

W _(k)=(H _(K) H* _(k) +αI)⁻¹ H _(k)  (12)

[0057] where α is defined as in equation (13): $\begin{matrix} {\alpha = {\frac{1}{SNR} = {\frac{N_{0}}{E_{s}}.}}} & (13) \end{matrix}$

[0058] Using a well-known matrix inversion rule, equation (12) may be expressed as in equation (14):

W _(k) =H _(k)(H* _(k) H _(k) +αI)⁻¹.  (14)

[0059] Therefore, the MMSE estimate vector {circumflex over (x)}_(k) for symbols x_(k) is obtained through evaluation of equation (15):

{circumflex over (x)} _(k) =W* _(k) y _(k)=(H* _(k) H _(k) +αI)⁻¹ H* _(k) y _(k).  (15)

[0060] The covariance matrix R_(e) of the estimation error e_(k)=x_(k)−{circumflex over (x)}_(k) is expressed as in equation (16):

R _(e) =E(e _(k) e* _(k))=N ₀(H* _(k) H _(k) +αI)⁻¹.  (16)

[0061] Once the quantity (H*_(k)H_(k)+αI)⁻¹ is obtained, both the MMSE estimation filter W_(k) and the covariance matrix R_(e) are easily computed.

[0062] Next, tentative decisions for the transmitted bits are generated based on the MMSE estimates. Denoting {circumflex over (L)}(b_(k) ^(n)) as the soft output value based on the MMSE estimation {circumflex over (x)}_(k), the soft output value {circumflex over (L)}(b_(k) ^(n)) for each bit b_(k) ^(n) may be computed using equation (17): $\begin{matrix} {{\hat{L}\left( b_{k}^{n} \right)} = {{\log \frac{P\left( {b_{k}^{n} = \left. {+ 1} \middle| {\hat{x}}_{k} \right.} \right)}{P\left( {b_{k}^{n} = \left. {- 1} \middle| {\hat{x}}_{k} \right.} \right)}} = {\log {\frac{\sum\limits_{x_{k} \in S_{+ 1}^{n}}\quad {p\left( {\hat{x}}_{k} \middle| x_{k} \right)}}{\sum\limits_{x_{k} \in S_{- 1}^{n}}\quad {p\left( {\hat{x}}_{k} \middle| x_{k} \right)}}.}}}} & (17) \end{matrix}$

[0063] Equation (17) for the general receiver structure may be related to equation (6) of the OFDM system since the index n is equivalent to iM+m.

[0064] At high signal-to-noise ratios (SNR), the MMSE estimation approaches a zero forcing (ZF) solution, and may be approximated by a variable having complex Gaussian distribution. Thus, by applying the Gaussian probability density function approximation and normalizing, the joint probability p({circumflex over (x)}_(k)|x_(k)) is defined as in equation (18): $\begin{matrix} {{p\left( {\hat{x}}_{k} \middle| x_{k} \right)} = {{\exp \left( {- \frac{\left( {{\hat{x}}_{k} - x_{k}} \right)*{R_{e}^{- 1}\left( {{\hat{x}}_{k} - x_{k}} \right)}}{2}} \right)}.}} & (18) \end{matrix}$

[0065] If the MMSE estimates {circumflex over (x)}_(k) ^(l) are uncorrelated with each other, the correlation matrix R_(e) becomes a diagonal matrix with σ_(l) ² being the ith diagonal element of the matrix. Denoting σ_(i) ² as the variance of the ith MMSE estimate {circumflex over (x)}_(k) ^(l), then the joint probability p({circumflex over (x)}_(k)|x_(k)) of equation (18) may be expressed as in equation (19): $\begin{matrix} {{p\left( {\hat{x}}_{k} \middle| x_{k} \right)} = {\prod\limits_{i = 1}^{N_{i}}\quad {{\exp \left( {{- \frac{1}{2\sigma_{i}^{2}}}{{{\hat{x}}_{k}^{i} - x_{k}^{i}}}^{2}} \right)}.}}} & (19) \end{matrix}$

[0066] With equation (19), the LLR computation may be performed with a single scalar symbol instead of a vector. For n=(i−1)M+2, (i−1)M+2, . . . ,iM, the notation b_(k) ^(n|l) to indicate that the nth bit position falls into ith symbol. After canceling out symbols unrelated to b_(k) ^(n|l), the LLR computation of equation (17) may be expressed as in equation (20): $\begin{matrix} {{L^{m}\left( b_{k}^{n{i}} \right)} = {\log \frac{\sum\limits_{x_{k}^{j} \in M_{+ 1}^{n{i}}}{\exp \left( {{- \frac{1}{2\sigma_{i}^{2}}}{{{\hat{x}}_{k}^{i} - x_{k}^{i}}}^{2}} \right)}}{\sum\limits_{x_{k}^{j} \in M_{- 1}^{n{i}}}{\exp \left( {{- \frac{1}{2\sigma_{i}^{2}}}{{{\hat{x}}_{k}^{i} - x_{k}^{i}}}^{2}} \right)}}}} & (20) \end{matrix}$

[0067] where the set M_(d) ^(n|l) is defined as in equation (21):

M _(d) ^(n|l) ={x _(k) ^(l) |b _(k) ^(n|l) =d}.  (21)

[0068] With equations (20) and (21), the number of evaluations (candidates to search) is reduced to 2^(M). By applying the max-log approximation to equation (20), the computation of LLR is further reduced. Given the MMSE estimate {circumflex over (x)}_(k), the simplified scheme transforms the M-dimensional search over likelihood values for all sequences into simple M boundary problems.

[0069] Even though the LLR values for all the transmitted bits may be obtained by a method employing equations (20) and (21), this LLR computation is employed to determine those bits whose decisions may be considered “reliable” to further reduce the number of evaluations.

[0070] If a number P of bit positions, n₁, n₂, . . . n_(P) are identified as having LLR values computed in equation (20) that are reliable, the corresponding LLR values L(b_(k) ^(n) ^(₁) ),L(b_(k) ^(n) ^(₂) ), . . . L(b_(k) ^(n) ^(_(P)) ) meet or exceed a threshold. Defining {circumflex over (b)}_(k) ^(n) ^(₁) , {circumflex over (b)}_(k) ^(n) ^(₂) , . . . {circumflex over (b)}_(k) ^(n) ^(_(P)) as the hard decisions for the bits made by slicing soft output values corresponding to these LLR values, then the set L^(P) is defined as a set of all symbol vectors with bits in those positions equal to the hard decisions. The set L^(P) is defined as in equation (22):

L ^(P) ={x _(k) |b _(k) ^(n) ^(₁) ={circumflex over (b)} _(k) ^(n) ^(₁) , b _(k) ^(n) ^(₂) ={circumflex over (b)} _(k) ^(n) ^(₂) , . . . b _(k) ^(n) ^(_(P)) ={circumflex over (b)} _(k) ^(n) ^(_(P)) }.  (22)

[0071] As a result, a candidate search for combinations of equation (7) is carried out over a smaller set L^(P)∩S_(d) ^(n). The size of the set that the demapper needs to search over is reduced 2^(N) ^(_(l)) ^(M−P).

[0072] Identification of the P most reliable bit positions is now described. If incorrect hard decisions are employed within a candidate set L^(P), overall performance degrades due to error propagation in the MIMO demapper. Thus, the bit positions included in the candidate set L^(P) are selected so as to minimize the probability of error by choosing the bit positions with the largest LLR values.

[0073] Considering that hard decisions {circumflex over (b)}_(k) ^(n) are obtained by slicing the estimate {circumflex over (x)}_(k) ^(l), the probability of error P_(e) in {circumflex over (b)}_(k) ^(n) is dependent on the probability of estimation error of {circumflex over (x)}_(k) ^(l). Therefore, the probability P_(c) that the hard decision {circumflex over (b)}_(k) ^(n) is correct may be expressed as in equation (23):

P _(c)=(1−P _(e))P{b _(k) ^(l) ={circumflex over (b)} _(k) ^(l)}  (23)

[0074] where P_(e) is the probability that the MMSE estimate {circumflex over (x)}_(k) ^(l) results in an incorrect decision. Denoting Q(•) as the complementary error function, P_(c) may be computed via equation (24): $\begin{matrix} {{P_{c} \approx {N_{c}{Q\left( \frac{d_{\min}}{2\sigma_{i}} \right)}}},} & (24) \end{matrix}$

[0075] where N_(c) represents the average number of nearest neighbors, and d_(min) is the minimum Euclidean distance for a constellation. Both N_(c) and d_(min) may be determined a priori from the given constellation. For example, N_(c)=3 and d_(min)=2 for 16-QAM with symbol energy E_(s)=10.

[0076] Therefore, using the relationship between L(b_(k) ^(n)) and P{b_(k) ^(n)={circumflex over (b)}_(k) ^(n)}, the overall probability P_(c) of correct decision is given by equation (25): $\begin{matrix} {P_{c} \approx {\left( {1 - {N_{c}{Q\left( \frac{d_{\min}}{2\sigma_{i}} \right)}}} \right){\frac{1}{1 + ^{- {L^{m{(b_{k}^{n})}}}}}.}}} & (25) \end{matrix}$

[0077] Further simplification can be made by using an approximation of Q(•) as given in equation (26): $\begin{matrix} {{Q(x)} \approx {\frac{1}{\sqrt{2\pi \quad x}}{^{- \frac{x^{2}}{2}}.}}} & (26) \end{matrix}$

[0078] To determine the P most reliable bit positions, we compute the probability of correct decision for each bit position using the relation of equation (25), and choose the P bit positions with the largest P_(c). After identifying the P bit positions, equations (6) and (7) are modified to compute the LLR values over the set L^(P)∩S_(d) ^(n).

[0079] Once the MIMO demapper generates the LLR values using the technique described above for the first iteration, the MAP decoder may produce soft output values for the transmitted bits for the first iteration and subsequent iterations. Therefore, the same principle of fixing hard decisions in the MIMO demapper in the subsequent iterations is employed to reduce the size of a set of candidates to search.

[0080]FIG. 6 shows an exemplary method of reduced complexity iterative demapping/decoding for LLR calculation. At step 601, the MIMO demapper begins the first iteration of demapping/decoding. For each i, the MMSE estimate {circumflex over (x)}_(k) ^(l) is obtained using equation (15), and the corresponding MSE variance σ_(l) ² is obtained using equation (16). At step 602, the MIMO demapper employs the MMSE estimates {circumflex over (x)}_(k) ^(l) and the corresponding MSE variances σ_(l) ² to compute MMSE LLR values L^(m)(b_(k) ^(n)) are computed using equations (20) and (21). At step 603, the probabilities of correct decisions are then computed using equation (25). At step 604, the P positions with the largest P_(c) as calculated from equation (25) are selected, and those bit positions are fixed with the corresponding hard decision. At step 605, the LLR values for every bit position (except the fixed positions) are computed in equations (6) and (7) over a set with a reduced size 2^(N) ^(_(l)) ^(M−P).

[0081] After the MIMO demapper computes the LLR values in step 605, at step 606 the extrinsic information is transferred to the MAP decoder (after deinterleaving). At step 607, the MAP decoder performs an iteration of MAP decoding. Then, at step 608, the MAP decoder updates its a posteriori LLR values L^(e)(b_(k) ^(n)) for the transmitted bits b_(k) ^(n), unless the last iteration is reached in which the method terminates. At step 609, the extrinsic information LLR values L^(e)(b_(k) ^(n)) (by subtracting the input a priori LLR values from the a posteriori LLR values) are applied to the MIMO demapper (after interleaving).

[0082] Even though the extrinsic information L^(e)(b_(k) ^(n)) is employed by the MIMO demapper, the overall LLR value L^(e)(b_(k) ^(n)) for the bit from MAP decoding is preferably used to determine the P most reliable bit positions. Therefore, in the second iteration (and the subsequent iterations), at step 610, the MIMO demapper chooses those P bit positions with the largest magnitude MAP decoder LLR values |L^(e)(b_(k) ^(n))|, and then at step 611, a set L^(P) is determined based on those P fixed bit positions.

[0083] At step 612, the LLR values of the MIMO demapper for bit positions except for those P fixed positions are computed via equation (27): $\begin{matrix} {{L^{m}\left( b_{k}^{n} \right)} = {\log {\frac{\sum\limits_{x_{k} \in {L^{P}\bigcap S_{+ 1}^{n}}}{\exp \left( {{{- \frac{1}{N_{0}}}{{y_{k} - {H_{k}x_{k}}}}^{2}} + {\frac{1}{2}b_{k}^{T}L_{k}^{e}}} \right)}}{\sum\limits_{x_{k} \in {L^{P}\bigcap S_{- 1}^{n}}}{\exp \left( {{{- \frac{1}{N_{0}}}{{y_{k} - {H_{k}x_{k}}}}^{2}} + {\frac{1}{2}b_{k}^{T}L_{k}^{e}}} \right)}}.}}} & (27) \end{matrix}$

[0084] After step 612, the method returns to step 606.

[0085] As is known in the art, the logarithm of a summation of exponential terms may be approximated by taking only the maximum value of the exponent. Therefore, the probability of a bit decision may be determined through equation (28): $\begin{matrix} {{P\left( {{b_{k}^{n} = \left. d \middle| y_{k} \right.},H_{k}} \right)} \approx {\max\limits_{x_{k} \in {L^{P}\bigcap S_{d}^{n}}}\left( {{{- \frac{1}{N_{0}}}{{y_{k} - {H_{k}x_{k}}}}^{2}} + {\frac{1}{2}b_{k}^{T}L_{k}^{e}}} \right)}} & (28) \end{matrix}$

[0086] A system operating in accordance with an embodiment of the present invention may provide the following advantages. Space time bit-interleaved coded modulation (ST-BICM) in wireless LAN applications is flexible in various system configurations. Unlike other space-time coded systems of the prior art in which coding and modulation design was specified for each system setup, a single coder in a ST-BICM system operating in accordance with an exemplary embodiment of the present invention may support many different data rates. Support of multiple, varying data rates may be advantageous for wireless LAN system design where, for example, eight different data rate modes are defined in the 802.11a standard.

[0087] The present invention can be embodied in the form of methods and apparatuses for practicing those methods. The present invention can also be embodied in the form of program code embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. The present invention can also be embodied in the form of program code, for example, whether stored in a storage medium, loaded into and/or executed by a machine, or transmitted over some transmission medium or carrier, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. When implemented on a general-purpose processor, the program code segments combine with the processor to provide a unique device that operates analogously to specific logic circuits.

[0088] It will be further understood that various changes in the details, materials, and arrangements of the parts which have been described and illustrated in order to explain the nature of this invention may be made by those skilled in the art without departing from the scope of the invention as expressed in the following claims. 

What is claimed is:
 1. A method of iteratively demapping and decoding two or more received signals into data, the method comprising the steps of: for a first iteration, (a) demapping, with a multi-input, multi-output (MIMO) demapper, a sequence of encoded data from the received signals as a set of minimized cost function error (MCFE) estimates; (b) generating MCFE likelihood values for the set of MCFE estimates based on a set of corresponding variances; (c) calculating, for the set of MCFE estimates, a set of probabilities of correct decision based on the MMSE likelihood values; (d) setting one or more of the set of MCFE estimates as hard decisions based on the set of probabilities of correct decision; and (e) calculating a set of maximum a posteriori (MAP) likelihood values based on the remaining MMSE estimates.
 2. The invention of claim 1, wherein step (a) includes the step of generating a set of bit estimates for the sequence of encoded data, and the method further comprising the steps of: during the first iteration, (f) MAP decoding the set of bit estimates for the sequence of encoded data based on the extrinsic information generated from the MAP likelihood values of step (e), the step of MAP decoding including the step of generating MAP decoding extrinsic information; and (g) applying the MAP decoding extrinsic information to the MIMO demapper.
 3. The invention of claim 2, further comprising the steps of, during a second iteration, (h) setting one or more of the set of bit estimates as hard decisions based on the MAP decoding extrinsic information of step (f); (i) calculating, by the MIMO demapper, a set of new MAP likelihood values based on the remaining bit estimates and the MAP decoding extrinsic information; and (j) MAP decoding the set of bit estimates based on the set of new MAP likelihood values to update the MAP decoding extrinsic information.
 4. The invention of claim 3, further comprising the step of repeating steps (j) through (k) to generate user data from the encoded data.
 5. The invention of claim 1, wherein, for step (a), the MCFE estimates are a minimum mean square error (MMSE) estimates formed as a vector {circumflex over (x)}_(k) corresponding to a transmitted symbol vector x_(k), the vector {circumflex over (x)}_(k) formed by the step of evaluating: {circumflex over (x)} _(k) =W* _(k) y _(k)=(H* _(k) H _(k) +αI)⁻¹ H* _(k) y _(k), wherein W_(k) is an optimum estimation matrix, α is a scaling factor related to a signal to noise ratio, I is the identity matrix, H_(k) is a channel function estimate matrix, and y_(k) is an input sample vector representing the received signals.
 6. The invention of claim 5, wherein, for step (b) the variances are diagonal elements of covariance matrix R_(e) of estimation error vector e_(k)=x_(k)−{circumflex over (x)}_(k) generated by the step of evaluating: R _(e) =E(e _(k) e* _(k))=N ₀(H* _(k) H _(k) +αI)⁻¹, wherein N_(o) is related to a noise power of the input sample vector.
 7. The invention of claim 5, wherein, for step (b) the MCFE likelihood values are minimum mean square error (MMSE) likelihood values {circumflex over (L)}(b_(k) ^(n)) for each transmit bit b_(k) ^(n) are generated by the step of evaluating: ${\hat{L}\left( b_{k}^{n} \right)} = {{\log \frac{P\left( {b_{k}^{n} = \left. {+ 1} \middle| {\hat{x}}_{k} \right.} \right)}{P\left( {b_{k}^{n} = \left. {- 1} \middle| {\hat{x}}_{k} \right.} \right)}} = {\log {\frac{\sum\limits_{x_{k} \in S_{+ 1}^{n}}\quad {p\left( {\hat{x}}_{k} \middle| x_{k} \right)}}{\sum\limits_{x_{k} \in S_{- 1}^{n}}\quad {p\left( {\hat{x}}_{k} \middle| x_{k} \right)}}.}}}$

wherein x_(k)εS₊₁ ^(n) is defined as a sequence for a kth subchannel having a bit estimate for bit b_(k) ^(n) corresponding to the user symbol, and x_(k)εS⁻¹ ^(n) is similarly defined for the kth subchannel having an estimate for bit b_(k) ^(n) corresponding to the complement of the user symbol, and wherein the joint probability p({circumflex over (x)}_(k)|x_(k)) may be expressed: ${p\left( {\hat{x}}_{k} \middle| x_{k} \right)} = {\prod\limits_{i = 1}^{N_{i}}\quad {{\exp \left( {{- \frac{1}{2\sigma_{i}^{2}}}{{{\hat{x}}_{k}^{i} - x_{k}^{i}}}^{2}} \right)}\quad \cdots}}$


8. The invention of claim 7, wherein, for step (c), each probability P_(c) of correct decision is given by equation (25): ${P_{c} \approx {\left( {1 - {N_{c}{Q\left( \frac{d_{\min}}{2\quad \sigma_{i}} \right)}}} \right)\frac{1}{1 + ^{- {{L^{m}{(b_{\lambda}^{n})}}}}}}},$

wherein Q(•) is a complementary error function, and d_(min) is a minimum distance between user symbols for a constellation.
 9. The invention of claim 1, wherein the method is embodied in an receiver.
 10. The invention of claim 1, wherein the method is embodied in a processor and circuitry of an integrated circuit.
 11. A computer-readable medium having stored thereon a plurality of instructions, the plurality of instructions including instructions which, when executed by a processor, cause the processor to implement a method for iteratively demapping and decoding two or more received signals into data, the method comprising the steps of: for a first iteration, (a) demapping, with a multi-input, multi-output (MIMO) demapper, a sequence of encoded data from the received signals as a set of minimized cost function error (MCFE) estimates; (b) generating MCFE likelihood values for the set of MCFE estimates based on a set of corresponding variances; (c) calculating, for the set of MCFE estimates, a set of probabilities of correct decision based on the MMSE likelihood values; (d) setting one or more of the set of MCFE estimates as hard decisions based on the set of probabilities of correct decision; and (e) calculating a set of maximum a posteriori (MAP) likelihood values based on the remaining MMSE estimates.
 12. The invention of claim 11, wherein step (a) includes the step of generating a set of bit estimates for the sequence of encoded data, and the method further comprising the steps of: during the first iteration, (f) MAP decoding the set of bit estimates for the sequence of encoded data based on the extrinsic information generated from the MAP likelihood values of step (e), the step of MAP decoding including the step of generating MAP decoding extrinsic information; and (g) applying the MAP decoding extrinsic information to the MIMO demapper.
 13. The invention of claim 12, further comprising the steps of, during a second iteration, (h) setting one or more of the set of bit estimates as hard decisions based on the MAP decoding extrinsic information of step (f); (i) calculating, by the MIMO demapper, a set of new MAP likelihood values based on the remaining bit estimates and the MAP decoding extrinsic information; and (j) MAP decoding the set of bit estimates based on the set of new MAP likelihood values to update the MAP decoding extrinsic information.
 14. The invention of claim 13, further comprising the step of repeating steps (h) through (j) to generate user data from the encoded data. 